package com.weitu.contractor.mapper;

import com.weitu.contractor.entity.ContractorInfo;
import com.weitu.contractor.entity.ContractorInfoCriteria;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Map;

/**
 * @author LiMeng
 * date 2017/04/01 16:43
 */
public interface ContractorInfoMapper {
    /** 
     * 查询数量
     * @param example 条件对象
     */
    int countByCriteria(ContractorInfoCriteria example);

    /** 
     * 根据条件删除
     * @param example 条件对象
     */
    int deleteByCriteria(ContractorInfoCriteria example);

    /** 
     * 根据ID删除
     * @param id 主键ID
     */
    int deleteById(String id);

    /** 
     * 添加对象对应字段
     * @param record 插入字段对象(必须含ID）
     */
    int insertSelective(ContractorInfo record);

    /** 
     * 根据条件查询
     * @param example 条件对象
     */
    List<ContractorInfo> selectByCriteria(ContractorInfoCriteria example);

    /** 
     * 根据ID查询
     * @param id 主键ID
     */
    ContractorInfo selectById(String id);

    /** 
     * 根据条件修改对应字段
     * @param record 修改字段对象 (JOPO)
     * @param example 条件对象
     */
    int updateByCriteriaSelective(@Param("record") ContractorInfo record, @Param("example") ContractorInfoCriteria example);

    /** 
     * 根据ID修改对应字段
     * @param record 修改字段对象(必须含ID）
     */
    int updateByIdSelective(ContractorInfo record);

    /**
     * 根据特定条件查询分页列表
     * @param paramMap 参数
     * @return 数据列表
     */
    List<ContractorInfo> queryList(Map paramMap);

    /**
     * 根据特定条件查询数量
     * @param paramMap 参数
     * @return 数量
     */
    int queryCount(Map paramMap);
}